
#include <iostream>
#include <string>
#include <vector>

std::string analyzeWords(std::vector<std::string> words) {
    if (words.size() < 2) {
        return "Мало данных для анализа";
    }
    int totalWords = 0;
    int capitalCyrillicWords = 0;
    int latinSymbolWords = 0;
    int shortWords = 0;
    int hyphenWords = 0;
    std::string longestWord = "";
    int longestWordLength = 0;

    for (const std::string& word : words) {
        totalWords++;
        if (isalpha(word[0])) {
            capitalCyrillicWords++;
        }
        if (std::any_of(word.begin(), word.end(), ::isalpha)) {
            latinSymbolWords++;
        }
        if (word.length() <= 3) {
            shortWords++;
        }
        if (word.find('-') != std::string::npos) {
            hyphenWords++;
        }
        if (word.length() > longestWordLength) {
            longestWord = word;
            longestWordLength = word.length();
        }
    }

    std::string report = "Кол-во слов: " + std::to_string(totalWords) + "\n"
                        + "Кол-во слов с заглавной кириллической буквы: " + std::to_string(capitalCyrillicWords) + "\n"
                        + "Кол-во слов содержащих латинский символ: " + std::to_string(latinSymbolWords) + "\n"
                        + "Кол-во слов не превышающих 3 символа: " + std::to_string(shortWords) + "\n"
                        + "Кол-во слов в составе которых имеется дефис: " + std::to_string(hyphenWords) + "\n"
                        + "Самое длинное слово: " + longestWord + "\n"
                        + "Длина слова: " + std::to_string(longestWordLength);

    return report;
}

int main() {
    std::string input;
    std::cout << "Введите слова, разделенные пробелом: ";
    std::getline(std::cin, input);

    std::istringstream iss(input);
    std::vector<std::string> wordsInput(std::istream_iterator<std::string>{iss},
                                        std::istream_iterator<std::string>());

    std::cout << analyzeWords(wordsInput) << std::endl;

    return 0;
}
